package org.swimv2.controller;

import java.util.Collection;
import java.util.Date;

import javax.ejb.Remote;

import org.swimv2.exception.MessaggioNonValidoException;
import org.swimv2.model.Messaggio;

@Remote
public interface GestioneMessaggiRemote {

	//Crea messaggio da 'mittente' a 'destinatario' con 'titolo' e 'corpo'
	public void nuovoMessaggio(String mittente, String destinatario, String titolo,String corpo) throws MessaggioNonValidoException;
	//Elimina messaggio con 'mittente' e 'destinatario' in 'dataOra'
	public void eliminaMessaggio(String mittente, String destinatario, Date dataOra);
	//Restituisce i messaggi ricevuti da 'utente'
	public Collection<Messaggio> getMessaggiRicevuti(String utente);
	//Restituisce i messaggi inviati da 'utente'
	public Collection<Messaggio> getMessaggiInviati(String utente);
	//Restituisce il messaggio con 'mittente' e 'destinatario' inviato in 'dataOra'
	public Messaggio getMessaggio(String mittente, String destinatario, Date dataOra);
}
